The present invention relates to the field of electronic design automation for integrated circuits, and in particular, to the area of automatic routing of nets or interconnect, where the width of the nets or interconnect is variable.
Integrated circuits are important building blocks of the information age and are critical to the information age, affecting every industry including financial, banking, legal, military, high technology, transportation, telephony, oil, medical, drug, food, agriculture, education, and many others. Integrated circuits such as DSPs, amplifiers, DRAMs, SRAMs, EPROMs, EEPROMs, Flash memories, microprocessors, ASICs, and programmable logic are used in many applications such as computers, networking, telecommunications, and consumer electronics.
Consumers continue to demand greater performance in their electronic products. For example, higher speed computers will provide higher speed graphics for multimedia applications or development. Higher speed internet web servers will lead to greater on-line commerce including on-line stock trading, book sales, auctions, and grocery shopping, just to name a few examples. Higher performance integrated circuits will improve the performance of the products in which they are incorporated.
Large modern day integrated circuits have millions of devices including gates and transistors and are very complex. As process technology improves, more and more devices may be fabricated on a single integrated circuit, so integrated circuits will continue to become even more complex with time. To meet the challenges of building more complex and higher performance integrated circuits, software tools are used. These tools are in an area commonly referred to as computer aided design (CAD), computer aided engineering (CAE), or electronic design automation (EDA). There is a constant need to improve these electronic automatic tools in order to address the desire to for higher integration and better performance in integrated circuits.
Within an integrated circuit, there are devices, such as transistors, and interconnect. Interconnect is used to connect signals between the circuitry and also to supply power to the circuitry. Interconnect may include metal lines, polysilicon lines, polysilicide lines, or other conductive materials. Interconnect is also sometimes referred to as nets. There may be more than one layer of interconnect, such as metal-1 and metal-2 layers. There is a need for a technique of automatically routing the interconnect of an integrated circuit. Automatic routing will automatically connect the inputs of particular devices or circuits to the appropriate inputs, typically from other circuits or devices, or from the pins of those devices.
Furthermore, when automatically routing the interconnect, it is desirable to consider the width of specific interconnect lines. By varying the interconnect width, this varies the properties of the line, such as the current or power handling, reliability, manufacturability, and other factors. For current handling, certain lines will carry larger currents than other lines. It is desirable that the interconnect lines can carry the current or power they will potentially see during operation, otherwise problems such as electromigration, IR voltage drop, or self-heating will reduce the reliability, longevity, or performance of the integrated circuit.
Therefore, there is a need for a system and an electronic design automation technique of automatically routing interconnect and varying interconnect width based on one or more factors.